package tpoo.client.controllers.handlers;

import java.util.List;

import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.handlers.HandlerUtil;

import tpoo.common.dto.model.users.UserDTO;
import tpoo.common.services.UserService;
import tpoo.common.services.exceptions.ServiceException;
import tpoo.common.services.utils.ServiceAdmin;
import tpoo.common.services.utils.ServiceConstants;
import tpoo.common.utils.UserSession;

public class ContactListRequestHandler extends AbstractHandler implements ServiceConstants {

	public Object execute(ExecutionEvent event) throws ExecutionException {
		
		IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
		
		try {
			UserService us = (UserService) ServiceAdmin.getService(USER_SERVICE);
			List<UserDTO> contacts = us.getContacts(UserSession.getInstance().getUser());
			MessageDialog.openInformation(window.getShell(), "Contact for "+UserSession.getInstance().getUser(), contacts.toString());
		} catch (ServiceException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}

}
